/**
 * 响应拦截
 * @param {Object} http 
 */
module.exports = (vm) => {
	uni.$u.http.interceptors.response.use((response) => {
		/* 对响应成功做点什么 可使用async await 做异步操作*/
		//       const data = response
		// console.log(response.statusCode)
		// uni.$u.toast(response.statusCode)
		// 自定义参数
		// const custom = response.config?.custom
		if (response.statusCode !== 200) { // 服务端返回的状态码不等于200，则reject()
			// 如果没有显式定义custom的toast参数为false的话，默认对报错进行toast弹出提示
			// if (custom.toast !== false) {
			uni.$u.toast(response.errMsg)
			// }
			// 如果需要catch返回，则进行reject
			// if (custom?.catch) {
			//     return Promise.reject(data)
			// } else {
			//     // 否则返回一个pending中的promise
			//     return new Promise(() => { })
			// }

		}

		return response.data || {}
	}, (response) => {
		/*  对响应错误做点什么 （statusCode !== 200）*/
		if (response.statusCode === 401) { // 服务端返回的状态码不等于200，则reject()
			// 如果没有显式定义custom的toast参数为false的话，默认对报错进行toast弹出提示
			// if (custom.toast !== false) {
			const type = uni.getSystemInfoSync().uniPlatform
			// console.log(type) // app


			uni.$u.toast("请重新登录")
			if (type != "mp-weixin") {
				uni.navigateTo({
					url: "/pages/login/index"
				})
			} else {
				uni.navigateTo({
					url: '/pages/index/login'
				})
			}
			// uni.$u.toast("请重新登录")
			// }
			// 如果需要catch返回，则进行reject
			// if (custom?.catch) {
			//     return Promise.reject(data)
			// } else {
			//     // 否则返回一个pending中的promise
			//     return new Promise(() => { })
			// }
		}
		return Promise.reject(response)
	})
}
